/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package vccibernos;
import java.util.*;
import persistencia.PersistenciaProveedor;
/**
 *
 * Clase controladora de Proveedores que se comunica con la capa de negocio y con la capa de persitencia
 * @author JAVA
 */
public class GestionProveedor {
    
    private static Proveedor p;
    
    /**
     * Metodo que da de alta un proveedor
     * @param nombre del proveedor que queremos dar de alta
     */
    public static void altaProveedor(String nombre){
        p=new Proveedor(nombre);
        if(PersistenciaProveedor.crearProveedor(p)==1){
            System.out.println("Proveedor creado correctamente");
        }
    }
    /**
     * 
     * @param codigo del proveedor 
     * @return un booleano true si hay un proveedor con esa id
     */
    public static boolean obtenerProveedor(int codigo){
        p=PersistenciaProveedor.obtenerProveedor(codigo);
        if(p==null){
            System.out.println("No hay ningun proveedor con dicha id");
            return false;
        }
        else return true;
    }
    /**
     * Modifico el nombre del proveedor en el objeto y lo mando a la persistencia
     * @param nombre del proveedor introducido para su modificacion
     */
    public static void modificarProveedor(String nombre){
        p.setNombre(nombre);
        if(PersistenciaProveedor.modificarProveedor(p)==1){
            System.out.println("Proveedor modificado correctamente");
        }
    }
    /**
     * Da de baja un proveedor el cual hemos buscado previamente con obtenerProveedor
     */
    public static void bajaProveedor(){
        if(PersistenciaProveedor.eliminarProveedor(p)==1){
            System.out.println("Proveedor eliminado correctamente");
        }
    }
    
    /**
     * Muestra una lista con todos los proveedores
     * La persistencia devuelve una lista de proveedores y en el metodo la recorro y la imprimo
     * @return un int con el numero de proveedores que devuelve
     */
    public static int mostrarProveedores(){
        List<Proveedor> prov=PersistenciaProveedor.devolverProveedores();
        Iterator it=prov.iterator();
        while(it.hasNext()){
            Proveedor pr=(Proveedor)it.next();
            System.out.println(pr);
        }
        return prov.size();
    }
    
    
}
